import os

def collect_logs(file_paths, log_suffix):
    final_log_dir = "./{}_Logs".format(log_suffix)
    if os.path.exists(final_log_dir):
        os.system(f"rm -r {final_log_dir}")
    os.system(f"mkdir {final_log_dir}")
    for fname in file_paths:
        if os.path.isdir(fname):
            os.system(f"cp -r {fname} {final_log_dir}/")
        else:
            os.system(f"cp {fname} {final_log_dir}/")
    os.system(f"zip -r {final_log_dir}.zip {final_log_dir}")
    os.system(f"rm -r {final_log_dir}")

dir = "./"
dir_path = os.path.abspath(dir)
files = os.listdir(dir_path)
paths = [os.path.join(dir_path, fname) for fname in files if ("MetaSelfTrainV3" in fname) or
                                                             ("MetaSelfTrainV4" in fname) or
                                                             ("MetaSelfTrainV5" in fname) ]
collect_logs(file_paths=paths, log_suffix="UtilV5")

import os
import time

def collect_logs(file_paths, log_suffix):
    final_log_dir = "./{}_Logs".format(log_suffix)
    cur_time = int(time.time())
    if os.path.exists(final_log_dir):
        os.system(f"rm -r {final_log_dir}")
    os.system(f"mkdir {final_log_dir}")
    for fname in file_paths:
        if os.path.isdir(fname):
            for sub_file in os.listdir(fname):
                if os.path.isdir(f"{fname}/{sub_file}"):
                    prefix, date, hms = sub_file.split("_")
                    new_hms = time.strftime("%H%M%S", time.localtime(cur_time))
                    os.system(f"cp -r {fname}/{sub_file}/ {final_log_dir}/{prefix}_{date}_{new_hms}")
                    cur_time += 1
        else:
            os.system(f"cp {fname} {final_log_dir}/")
    os.system(f"zip -r {final_log_dir}.zip {final_log_dir}")
    os.system(f"rm -r {final_log_dir}")

dir = "./"
dir_path = os.path.abspath(dir)
files = os.listdir(dir_path)
paths = [os.path.join(dir_path, fname) for fname in files if ("SAndT_" in fname) and \
                        ((os.path.isdir("./{}".format(fname))) or (".log" in fname)) ]
collect_logs(file_paths=paths, log_suffix="SAndT")